#ifndef MOSES_BINARYEXPR_H
#define MOSES_BINARYEXPR_H

#include "Expr.h"

namespace moses
{
	
	class BinaryExpr : public Expr
	{
	public:
		MOSES_ITEM_VISITABLE()
		
		BinaryExpr(Expr *pLeft, int op, Expr *pRight);
		virtual ~BinaryExpr();
	
		virtual Value Evaluate(Runtime *pEnv);
		
		Expr*	GetLeft() { return m_pLeft; }
		Expr*	GetRight() { return m_pRight; }
		int		GetOP() { return m_op; }
	private:
		Expr*	m_pLeft;
		int		m_op;
		Expr*	m_pRight;
	};

}

#endif
